﻿using Camc.Quality.Dto.ZuoYeReturnDto;
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;

namespace Camc.Quality.Dto.TableReturnDto.Technique
{
    /// <summary>
    /// 工序
    /// </summary>
    public class ProcessesReturnDto
    {
        public Guid Id { get; set; }

        /// <summary>
        /// 工艺文件Id
        /// </summary>
        public Guid TechniqueEntityId { get; set; }
        /// <summary>
        /// 原PPS工序ID
        /// </summary>
        public string OriginalProcessesId { get; set; }
        /// <summary>
        /// 工序说明
        /// </summary>
        public string ProcessesExplain { get; set; }
        /// <summary>
        /// 工序号
        /// </summary>
        public int ProcessesSequence { get; set; }
        /// <summary>
        /// 工序名称
        /// </summary>
        public string ProcessesName { get; set; }
        /// <summary>
        /// 工序工时
        /// </summary>
        public decimal ProcessesWorking { get; set; }
        /// <summary>
        /// 工序工种
        /// </summary>
        public string ProcessesType { get; set; }
        /// <summary>
        /// 工序性质
        /// </summary>
        public string ProcessesCharacteristic { get; set; }
        /// <summary>
        /// html内容
        /// </summary>
        public string F_HtmlContent { get; set; }
        /// <summary>
        /// URL
        /// </summary>
        public string URL { get; set; }

        public List<WorkStepReturnDto> WorkStepListDto { get; set; }
        //public ICollection<ResourcesDto> ResourcesDto { get; set; }
    }
    /// <summary>
    /// 工步
    /// </summary>
    public class WorkStepReturnDto
    {
        public object this[string propertyName]
        {
            get
            {
                // probably faster without reflection:
                // like:  return Properties.Settings.Default.PropertyValues[propertyName] 
                // instead of the following
                Type myType = typeof(WorkStepReturnDto);
                PropertyInfo myPropInfo = myType.GetProperty(propertyName);
                return myPropInfo.GetValue(this, null);
            }
            set
            {
                Type myType = typeof(WorkStepReturnDto);
                PropertyInfo myPropInfo = myType.GetProperty(propertyName);
                myPropInfo.SetValue(this, value, null);

            }

        }
        public Guid Id { get; set; }
        public Guid TechniqueEntityId { get; set; }
        public Guid ProcessesEntityId { get; set; }
        /// <summary>
        /// 原PPS工步ID
        /// </summary>
        public string OriginalWorkStepEntityId { get; set; }
        /// <summary>
        /// 工步序号
        /// </summary>
        public int WorkStepNumber { get; set; }
        /// <summary>
        /// 工步名称
        /// </summary>
        public string WorkStepName { get; set; }

        /// <summary>
        /// 工步序号名称
        /// </summary>
        public string WorkStepSerialName { get; set; }
        /// <summary>
        /// 工步内容
        /// </summary>
        public string WorkStepContent { get; set; }
        /// <summary>
        /// 工步公司
        /// </summary>
        public decimal WorkStepWorking { get; set; }
        /// <summary>
        /// 工步修改内容
        /// </summary>
        public string WorkStepUpdateContent { get; set; }
        /// <summary>
        /// 工步性质
        /// </summary>
        public string WorkStepCharacteristic { get; set; }
        #region   表格


        #region 原有
        /// <summary>
        /// 总装数据记录表
        /// </summary>
        public List<RAssembleDto> Assemble { get; set; }
        /// <summary>
        /// 通用记录表
        /// </summary>
        public List<RGeneralRecordsDto> GeneralRecords { get; set; }

        /// <summary>
        /// 胶液配比情况记录表
        /// </summary>
        public List<RGlueSolutionDto> GlueSolution { get; set; }

        /// <summary>
        /// 舱口盖开闭记录表
        /// </summary>
        public List<RHatchOpenShutDto> Hatch { get; set; }
        /// <summary>
        /// 进箱（舱）登记表
        /// </summary>
        public List<RInCabinDto> InCabin { get; set; }

        /// <summary>
        /// 具有证明书的主要零件记录表
        /// </summary>
        public List<RMainPartsDto> MainParts { get; set; }
        /// <summary>
        /// 力矩记录表
        /// </summary>
        public List<RMomentRecordingDto> Moment { get; set; }

        /// <summary>
        /// 多媒体记录表
        /// </summary>
        public List<RMultimediaRecordDto> MultimediaRecord { get; set; }

        /// <summary>
        /// 力矩复校记录表
        /// </summary>
        public List<RTorqueReCalibrationDto> TorqueReCalibration { get; set; }
        /// <summary>
        /// 质量控制记录表
        /// </summary>
        public List<RQualityControlDto> QualityControl { get; set; }
        /// <summary>
        /// 多媒体
        /// </summary>
        public List<RMultiMediaOutDto> MultiMedia { get; set; }


        /// <summary>
        /// 装入件  修改dto命名
        /// </summary>
        public List<RInsertDetailsDtos> InsertDetails { get; set; }

        /// <summary>
        /// 视频
        /// </summary>
        public List<RVideoFrequencyDtos> Video { get; set; }
        /// <summary>
        /// 制造资源
        /// </summary>
        public List<RManufacturingResourcesDtos> ManufacturingResources { get; set; }
        /// <summary>
        /// 质量控制
        /// </summary>
        public List<RQualityRecordOutDto> QualityRecord { get; set; }

        /// <summary>
        /// 电缆插头防水防热记录表
        /// </summary>
        public List<RCablePlugWaterFireProofDto> CablePlugWaterFireProofControl { get; set; }
        /// <summary>
        /// 波纹管变形记录表
        /// </summary>
        public List<RBellowsDeformationDto> BellowsDeformation { get; set; }
        /// <summary>
        /// 电连接器插接记录表
        /// </summary>
        public List<RElectricalConnectInsertionDto> ElectricalConnectInsertion { get; set; }
        #endregion
        /// <summary>
        /// 箭地接口保护件检查记录表
        /// </summary>
        public List<RArrowInterfaceProtectCheckDto> ArrowInterfaceProtectCheck { get; set; }
        /// <summary>
        /// 绝热去除记录表
        /// </summary>
        public List<RAdiabaticRemovalDto> AdiabaticRemoval { set; get; }
        /// <summary>
        /// 箭体称重时多装少装产品记录表
        /// </summary>
        public List<RArrowScalageProductsDto> ArrowScalageProducts { set; get; }
        /// <summary>
        /// 箭体结构防水记录表
        /// </summary>
        public List<RArrowStructureWaterproofDto> ArrowStructureWaterproof { set; get; }
        /// <summary>
        /// 搭接线安装部位防水记录表
        /// </summary>
        public List<RWaterproofInstallationLapdDto> WaterproofInstallationLapd { set; get; }
        /// <summary>
        /// 电缆高度测量记录表
        /// </summary>

        public List<RCableHeightDto> CableHeight { set; get; }
        /// <summary>
        ///管路上箭前吹除记录表
        /// </summary>
        public List<RBlowPipeArrowDto> BlowPipeArrow { get; set; }
        /// <summary>
        /// 电缆接收检查记录表
        /// </summary>
        public List<RCableReceivingInspectionDto> CableReceivingInspection { get; set; }
        /// <summary>
        /// 自动关闭口盖检查记录表
        /// </summary>
        public List<RAutomaticShutoffDto> AutomaticShutoff { get; set; }
        /// <summary>
        /// 总装零件称重记录表
        /// </summary>
        public List<RAssemnleweighingDto> Assemnleweighing { get; set; }
        /// <summary>
        /// 箭体称重记录表
        /// </summary>
        public List<RArrowWeightDto> ArrowWeight { get; set; }
        /// <summary>
        /// 连续拧紧环节力矩复校记录表
        /// </summary>
        public List<RCalibrationContinuousTorqueDto> CalibrationContinuousTorque { get; set; }

        /// <summary>
        /// 导管检查记录表
        /// </summary>
        public  List<RCatheterizationDto> Catheterization { get; set; }

        /// <summary>
        /// 整流罩安装后检查记录表
        /// </summary>
        public List<RCheckFairingAfterInstallationDto> CheckFairingAfterInstallation { set; get; }
        /// <summary>
        /// 阀门安装状态确认表
        /// </summary>
        public List<RConfirmationStatusDto> ConfirmationStatus { set; get; }
        /// <summary>
        /// 传感器变换器对应关系确认记录表
        /// </summary>
        public  List<RCorrespondingRelationshipDto> CorrespondingRelationship { set; get; }

        /// <summary>
        /// 密封插头压接多媒体记录表
        /// </summary>
        public  List<RCrimpingSealedPlugDto> CrimpingSealedPlug { set; get; }

        /// <summary>
        /// 气瓶组充放气速率记录表
        /// </summary>
        public  List<RCylinderGroupDto> CylinderGroup { set; get; }
        /// <summary>
        /// 气瓶压力测试记录表
        /// </summary>
        public  List<RCylinderPressureTestDto> CylinderPressureTest { set; get; }
        /// <summary>
        /// 干燥剂检查记录表
        /// </summary>
        public  List<RDesiccantInspectionDto> DesiccantInspection { set; get; }
        /// <summary>
        /// 设计签署总装数据记录表
        /// </summary>
      public  List<RDesignGeneralAssembleDto> DesignGeneralAssemble { set; get; }
        /// <summary>
        /// 爆索尺寸测量记录表
        /// </summary>
        public  List<RDetonatingCableSizeDto> DetonatingCableSize { set; get; }

        /// <summary>
        /// 分解重装记录表
        /// </summary>
        public List<RDisassemblyReassemblyDto> DisassemblyReassembly { set; get; }

        /// <summary>
        /// 对接面形位记录表
        /// </summary>
        public  List<RDockSurfaceMorphemeDto> DockSurfaceMorpheme { set; get; }
        /// <summary>
        /// 低频压接实验测量记录表
        /// </summary>
        public List<RExperimentalCrimpingDto> ExperimentalCrimping { set; get; }

        /// <summary>
        /// 未按要求施加力矩及未打保险防松记录表
        /// </summary>
        public List<RFailureAequiredLoosInsuranceDto> FailureAequiredLoosInsurance { set; get; }
        /// <summary>
        /// 整流罩锉修记录表
        /// </summary>
        public List<RFilingFileRepairDto> FilingFileRepair { set; get; }

        /// <summary>
        /// 除了打保险防松外的总装直属件记录表
        /// </summary>
        public   List<RFinalAssemblyPartsDto> FinalAssemblyParts { set; get; }
        /// <summary>
        /// 惯组安装记录表1
        /// </summary>
        public  List<RFirstIMUInstallationDto> FirstIMUInstallation { set; get; }

        /// <summary>
        /// 强制检验点记录表
        /// </summary>
        public  List<RForcedCheckpointDto> ForcedCheckpoint { set; get; }

        /// <summary>
        /// 飞行质量质心皮重及参数记录表
        /// </summary>
        public  List<RFlightMassCentroidTareWeightDto> FlightMassCentroidTareWeight { set; get; }

        /// <summary>
        /// 气封管流量测试记录表
        /// </summary>
        public  List<RGasPipeTestDto> GasPipeTest { set; get; }

        /// <summary>
        /// 气封流量测试记录表
        /// </summary>
        public  List<RGasSealFlowTestDto> GasSealFlowTest { set; get; }
        /// <summary>
        /// 总装耗材称重记录表
        /// </summary>
        public   List<RGeneralWeighingDto> GeneralWeighing { set; get; }
        /// <summary>
        /// 舱口盖开闭测试记录表
        /// </summary>
        public  List<RHatchOpenShutTestDto> HatchOpenShutTest { set; get; }

        /// <summary>
        /// 管路活门气密点检查记录表氦质谱法
        /// </summary>
        /// 
        public  List<RHeliumMassSpectrometryDto> HeliumMassSpectrometry { set; get; }
        /// <summary>
        /// 电缆剥线试验记录表高频
        /// </summary>
        public  List<RHighFrequencyCableStrippingDto> HighFrequencyCableStripping { set; get; }
        /// <summary>
        /// 高频压接点电阻及抗电强度检查记录表
        /// </summary>
        public List<RHighFrequencyVoltageDto> HighFrequencyVoltage { set; get; }
        /// <summary>
        /// 通用检查记录表
        /// </summary>
        public List<RInspectionRecordDto> InspectionRecord { set; get; }
        /// <summary>
        /// 安装距离记录表
        /// </summary>
        /// 
        public  List<RInstallationDistanceDto> InstallationDistance { set; get; }

        /// <summary>
        /// 单机安装位置记录表
        /// </summary>
        /// 
        public  List<RInstallationLocationDto> InstallationLocation { set; get; }

        /// <summary>
        /// 管路垫块安装情况记录表
        /// </summary>
        public  List<RInstallationPipeCushionDto> InstallationPipeCushion { set; get; }

        /// <summary>
        /// 产品安装数量记录表
        /// </summary>
        /// 
        public  List<RInstallationQuantityDto> InstallationQuantity { set; get; }
        /// <summary>
        /// 仪器接收检查记录表
        /// </summary>
        public List<RInstrumentCheckDto> InstrumentCheck { set; get; }
        /// <summary>
        /// 配合703绝热记录表
        /// </summary>

        public  List<RInsulation703Dto> Insulation703 { set; get; }

        /// <summary>
        /// 接口检查记录表
        /// </summary>
        public  List<RInterfaceCheckDto> InterfaceCheck { set; get; }

        /// <summary>
        /// 岗位分工表
        /// </summary>
        /// 
        public  List<RJobDivisionDto> JobDivision { set; get; }

        /// <summary>
        /// 随大部段交付产品明细表
        /// </summary>
        /// 
        public  List<RLargePartsDeliveryDto> LargePartsDelivery { set; get; }
        /// <summary>
        /// 大部段称重记录表
        /// </summary>
        public List<RLargeSectionWeightDto> LargeSectionWeight { set; get; }
        /// <summary>
        /// 飞行质量质心设备调平数据记录表
        /// </summary>
        public  List<RLevelingDataFlightDto> LevelingDataFlight { set; get; }

        /// <summary>
        /// 液位传感器尺寸协调记录表
        /// </summary>
        /// 
        public  List<RLiquidLevelSensorDto> LiquidLevelSensor { set; get; }

        /// <summary>
        /// 载荷支架组合体形位数据记录表
        /// </summary>
        /// 
        public  List<RLoadBracketDto> LoadBracket { set; get; }
        /// <summary>
        /// 压接实验测量记录表（低频）
        /// </summary>
        public List<RLowCrimpingExperimentDto> LowCrimpingExperiment { set; get; }
        /// <summary>
        /// 电缆剥线试验记录表（低频）
        /// </summary>
        /// 
        public List<RLowFrequencyCableStrippingDto> LowFrequencyCableStripping { set; get; }
        /// <summary>
        /// 小导管卡箍间距测量表
        /// </summary>
        public  List<RMeasurementSpacingConduitDto> MeasurementSpacingConduit { set; get; }

        /// <summary>
        /// 插头状态检查表
        /// </summary>
        public List<RPlugStatusDto> PlugStatus { set; get; }
        /// <summary>
        /// 问题记录表
        /// </summary>
        public  List<RProblemRecordDto> ProblemRecord { set; get; }

        /// <summary>
        /// 产品接地状态检查记录表
        /// </summary>
        /// 
        public  List<RProductGroundingStatusDto> ProductGroundingStatus { set; get; }

        /// <summary>
        ///产品安装确认表
        /// </summary>
        /// 
        public List<RProductInstallationConfirmationDto> ProductInstallationConfirmation { set; get; }
        /// <summary>
        /// 通用保护件检查记录表
        /// </summary>
        /// 
        public List<RProtectivePartsDto> ProtectiveParts { set; get; }
        /// <summary>
        /// 象限标识检查记录表
        /// </summary>
        /// 
        public List<RQuadrantCheckDto> QuadrantCheck { set; get; }
        /// <summary>
        /// 惯组安装记录表2
        /// </summary>
     public  List<RSecondIMUInstallationDto> SecondIMUInstallation { get; set; }
        /// <summary>
        /// 传感器安装测试记录情况统计记录表
        /// </summary>
        /// 
        public List<RSensorInstallationDto> SensorInstallation { get; set; }

        /// <summary>
        /// 管路活门气密点检查记录表皂泡法    
        /// </summary>
        public List<RSoapBubbleDto> SoapBubble { get; set; }
        /// <summary>
        /// 系统保压记录表
        /// </summary>
        public List< RSystemPressureMaintainingDto> SystemPressureMaintaining { set; get; }
        /// <summary>
        /// 状态检查表
        /// </summary>
        /// 
        public  List<RStatusCheckDto> StatusCheck { get;set; }
        /// <summary>
        /// 高频压接点抗拉强度检查记录表
        /// </summary>
        /// 
        public List<RTensileStrengthHighDto> TensileStrengthHigh { set; get; }

        /// <summary>
        /// 电磁阀尾罩检查表
        /// </summary>
        /// 
        public List<RTailCoverSolenoidDto> TailCoverSolenoid { set; get; }
        /// <summary>
        /// 横向质心测量记录表
        /// </summary>
        /// 
        public List<RTransverseCentroidDto> TransverseCentroid { set; get; }
        /// <summary>
        /// 阀门气瓶过滤器流量计输送管金属软管等检查记录表								
        /// </summary>
        /// 
        public  List<RValvesGasInspectionDto> ValvesGasInspection { set; get; }
        /// <summary>
        /// 阀门测试记录表
        /// </summary>
        public  List<RValveTestDto> ValveTest { set; get; }
        /// <summary>
        /// 阀门测试记录表2
        /// </summary>
        /// 
        public  List<RValveTestSecDto> ValveTestSec { get; set; }
        /// <summary>
        /// 阀门使用次数记录表
        /// </summary>
        /// 
        public List<RValveUsageTimesDto> ValveUsageTimes { get;set; }

        ///整流罩星箭分离弹簧压缩数据记录表

        public List<RReleaseSpringCompressionDto> ReleaseSpringCompression { set; get; }

        /// <summary>
        /// 接收检查记录表
        /// </summary>
        public List<RReceivingInspectionRecordDto> ReceivingInspectionRecord { set; get; }

        ///新6表
        /// <summary>
        /// 电连接器插接多媒体记录表
        /// </summary>
        public List<RMultimediaElectricalConnectDto> MultimediaElectricalConnect { set; get; }
        /// <summary>
        /// 仪器安装分离钢索多媒体记录表
        /// </summary>
        public List<RInstrumentSeparationCableDto> InstrumentSeparationCable { set; get; }
        /// <summary>
        /// 仪器安装电缆余量多媒体记录表
        /// </summary>
        public List<RInstrumentCableAllowanceDto> InstrumentCableAllowance { set; get; }
        /// <summary>
        /// 仪器安装分离力测试多媒体记录表
        /// </summary>
        public List<RInstrumentSeparationForceTestDto> InstrumentSeparationForceTest { set; get; }
        /// <summary>
        /// 仪器安装力矩记录表
        /// </summary>
        public List<RInstrumentTorqueRecordDto> InstrumentTorqueRecord { set; get; }
        /// <summary>
        /// 仪器插座安装多媒体记录表
        /// </summary>
        public List<RMultimediaSheetSocketDto> MultimediaSheetSocket { set; get; }
        #endregion
    }
}
